抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

问题表现

众所周知,星际2 随着网易和暴雪的短暂交恶而关服,且不再有希望重启国服。

然而在使用 Surge 作为网关时,国际服星际2 却无法登陆————其他的战网游戏都没有问题,战网可以正常登陆,OW 可以正常登陆和游玩,只有 SC2 无论是哪个区服,都会提示:当前的连接的伺服器无效。切换了自建的 N 个不同地区的节点,结果一致。

于是又尝试使用那些游戏加速器,结果发现也是完全一样的表现,这就非常的神奇了。

继续仔细观察,发现登陆的时候有几个 http 请求是失败的,但是把 url 拉出来直接请求却是可以成功的,太迷惑了。

域名分别是 level3.blizzard.com 以及 blizzard.gcdn.cloudn.co.kr

意外收获

最终突发奇想,修改 PC 的 DHCP 设置,把网关和 DNS 改成了纯国内的正常宽带出口,居然是可以登陆的,那就说明一定是 surge 这边的问题。

经过进一步的排查,发现了另一个可疑的请求: nydus.battle.net 以及 kr.logon.battle.net, 有时候会在请求管理器里面出现他们的失败请求。

但是我很确定我的代理是能正常访问这些域名的,突然想起来 stun 服务器相关的事情就是要配置 always-real-ip 来解决兼容性问题,因此死马当活马医,为它增加了相关的配置,没想到真的有用。

surge manual

解决方案

在 surge 的配置中增加以下内容

1
2
3
# under [General]

always-real-ip = '*.battle.net'

或者将其配置为独立的 sgmodule

1
2
3
4
5
#!name=[Macsed] Always Real IP For SC2
#!desc=SC2 Login Issue Resolver

[General]
always-real-ip = %APPEND% '*.battle.net'

评论